
/**
 * 
 * 转骰子
 * 
 * 题目描述

骰子是一个立方体，每个面一个数字，初始为左1，右2，前3(观察者方向)，后4，上5，下6，用123456表示这个状态，放置在平面上，

可以向左翻转(用L表示向左翻转1次)，
可以向右翻转(用R表示向右翻转1次)，
可以向前翻转(用F表示向前翻转1次)，
可以向后翻转(用B表示向后翻转1次)，
可以逆时针旋转(用A表示逆时针旋转90度)，
可以顺时针旋转(用C表示顺时针旋转90度)，
现从123456这个初始状态开始，根据输入的动作序列，计算得到最终的状态。

骰子的初始状态和初始状态转动后的状态如图所示。



输入描述
输入一行，为只包含LRFBAC的字母序列，最大长度为50，字母可重复。

输出描述
输出最终状态

用例
输入	LR
输出	123456
说明	骰子先向左翻转，再向右翻转回来，故还是原来的状态123456
输入	FCR
输出	342156
说明	骰子向前翻转，状态变为125643，再顺时针旋转，状态变为651243，最后向右翻转，状态变为342156

 */

import java.util.Scanner;

/**
  * 题目解析
本题感觉就是一道耗时题，考察细心程度的。具体的逻辑反而不是很难。

具体逻辑请看源码。
  */
public class 转骰子 {
    
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        turnDice(sc.nextLine().toCharArray());
    }
 
    public static void turnDice(char[] directives) {
        Dice dice = new Dice();
 
        for (char directive : directives) {
            switch (directive) {
                case 'L':
                    dice.turnL();
                    break;
                case 'R':
                    dice.turnR();
                    break;
                case 'F':
                    dice.turnF();
                    break;
                case 'B':
                    dice.turnB();
                    break;
                case 'A':
                    dice.turnA();
                    break;
                case 'C':
                    dice.turnC();
                    break;
            }
        }
 
        dice.print();
    }
}
 
class Dice {
    int left = 1;
    int right = 2;
    int front = 3;
    int back = 4;
    int top = 5;
    int bottom = 6;
 
    public void turnL() {
        // 前后不变，上变左，左变下，下变右，右变上
        int tmp = this.right;
        this.right = this.bottom;
        this.bottom = this.left;
        this.left = this.top;
        this.top = tmp;
    }
 
    public void turnR() {
        // 前后不变，上变右，右变下，下变左，左变上
        int tmp = this.left;
        this.left = this.bottom;
        this.bottom = this.right;
        this.right = this.top;
        this.top = tmp;
    }
 
    public void turnF() {
        // 左右不变，上变前，前变下，下变后，后变上
        int tmp = this.front;
        this.front = this.top;
        this.top = this.back;
        this.back = this.bottom;
        this.bottom = tmp;
    }
 
    public void turnB() {
        // 左右不变，前变上，上变后，后变下，下边前
        int tmp = this.top;
        this.top = this.front;
        this.front = this.bottom;
        this.bottom = this.back;
        this.back = tmp;
    }
 
    public void turnA() {
        // 上下不变， 前变右，右变后，后变左，左变前
        int tmp = this.right;
        this.right = this.front;
        this.front = this.left;
        this.left = this.back;
        this.back = tmp;
    }
 
    public void turnC() {
        // 上下不变， 右变前，前变左，左变后，后变右
        int tmp = this.front;
        this.front = this.right;
        this.right = this.back;
        this.back = this.left;
        this.left = tmp;
    }
 
    public void print() {
        String sb =
                String.valueOf(this.left) + this.right + this.front + this.back + this.top + this.bottom;
        System.out.println(sb);
    }
}
